/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.ignite.examples;

import org.apache.ignite.IgniteException;
import org.apache.ignite.Ignition;

/**
 * 启动一个带有示例计算配置的空Ignite节点。
 *
 * 这个类是所有示例的入口点，用于启动一个基础的Ignite节点。
 * 它使用预定义的配置文件 "examples/config/example-ignite.xml" 来启动节点。
 *
 * 配置包括：
 * - P2P类加载：允许在集群节点间自动部署用户代码
 * - 基础网络发现：使用多播发现其他节点
 * - 默认线程池配置
 * - 基础缓存配置
 *
 * 使用场景：
 * 1. 作为示例应用的集群节点
 * 2. 开发和测试环境
 * 3. 学习Ignite基础功能
 *
 * 注意：在生产环境中，应该使用更适合的配置文件。
 */
public class ExampleNodeStartup {
    /**
     * 启动一个带有示例计算配置的空节点。
     *
     * 这是程序的主入口点。该方法会：
     * 1. 加载预定义的Ignite配置文件
     * 2. 启动Ignite节点并加入集群
     * 3. 节点将一直运行直到程序被终止
     *
     * @param args 命令行参数，当前不需要任何参数
     * @throws IgniteException 如果节点启动失败
     */
    public static void main(String[] args) throws IgniteException {
        Ignition.start("examples/config/example-ignite.xml");
    }
}
